Jump To:
Technical Notes provide late breaking information about new Apple technologies and supplementary documentation discussing some of the more complex issues related to programming for the Mac OS.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Date
Working Around Incorrect -needsToDrawRect: Behavior in Custom View Classes (HTML)
TN2107: Describes how to work around a bug in NSView's -needsToDrawRect: method.
Cocoa 2004-02-06
The Preferences Problem (HTML) (PDF) ()
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
Core Foundation 1998-10-01
CD-ROM Driver Calls (HTML) (PDF)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Darwin 2000-08-14
Driver Tuning on Panther or G5 (HTML) ()
TN2090: Describes potential issues when using drivers in Panther or later, or on a Power Macintosh G5.
Darwin 2003-06-24
GDB for MacsBug Veterans (HTML) (PDF)
TN2030: Translate your experience with MacsBug into a working knowledge of the GNU source-level debugger (GDB).
Darwin 2001-10-18
Kernel Core Dumps (HTML)
TN2118: Explains how to gather and use remote kernel core dumps.
Darwin 2004-11-12
Pascal to C: PROCEDURE Parameters (HTML) (PDF)
Deprecated - PT31: Nested procedures and PROCEDURE parameters in Pascal when converting them into C or C++.
Darwin 1990-02-01
Porting Command Line Unix Tools to Mac OS X (HTML) ()
TN2071: A general guide for Unix developers porting software to Mac OS X.
Darwin 2003-09-03
Understanding and Debugging Kernel Panics (HTML) (PDF) ()
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Darwin 2002-11-11
ATA Device Software Guide Additions and Corrections (HTML) (PDF) ()
TN1098: Notes Errors and additions to ATA Device Software Guide and ATA Manager 4.0.
Device Drivers 1997-07-01
ATA Interface Modules (HTML) (PDF)
TN1192: Describes how to write device drivers for ATA host bus controllers, ie. ATA Interface Module.
Device Drivers 1999-12-01
CD-ROM Driver Calls (HTML) (PDF)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Device Drivers 2000-08-14
Debugging Open Firmware Using Telnet (HTML) (PDF)
TN2004: Addresses debugging device's firmware using Ethernet and telnet protocol to a target machine running Open Firmware.
Device Drivers 2000-10-16
Digital CD Audio (HTML) (PDF) ()
TN1187: Describes digital audio on the Macintosh.
Device Drivers 2000-04-01
FireWire: DCL Programs Under Mac OS X (HTML) ()
TN2072: Describes the structure and creation of DCL programs under Mac OS X.
Device Drivers 2003-06-21
New Sound Input Driver Features (HTML) (PDF) ()
Deprecated - TN1124: Describes the visible features and changes, in Mac OS 8.1, for PCI sound input drivers.
Device Drivers 1998-04-01
Open Firmware Ethernet Debugging II: Telnet downloading (HTML) (PDF) ()
TN2023: Describes a method of debugging a device's firmware using Ethernet to connect a host machine and target machine.
Device Drivers 2001-10-30
Open Transport STREAMS FAQ (HTML) (PDF)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Device Drivers 1997-12-01
Power Management for Macintosh; getting started (HTML) ()
TN2075: Outlines available documentation and its location for power management on Mac OS X and OS 9.
Device Drivers 2003-05-30
Running files from a hard drive in Open Firmware (HTML) (PDF)
TN2001: Demonstrates editing, saving, and retrieving Open Firmware commands to a file on a Macintosh hard drive.
Device Drivers 2000-09-22
SndPlayDoubleBuffer and Carbon (HTML) (PDF) ()
TN1198: Removal of the SndPlayDoubleBuffer and other APIs from the Carbon API set and Carbon solutions.
Games 2002-06-12
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Games 2004-06-14
The CGDirectDisplay API (HTML) (PDF) ()
TN2007: Provides a reference for the CGDirectDisplay API on Mac OS X.
Graphics & Imaging 2000-11-08
ColorSync on Mac OS X (HTML) (PDF) ()
TN2035: Describes ColorSync, which is fundamentally integrated into Mac OS X.
Graphics & Imaging 2004-06-25
Data Fork Font Support in Mac OS 8.5 (HTML) (PDF) ()
TN1159: Describes support for data fork-housed TrueType and OpenType fonts added to Mac OS 8.5.
Graphics & Imaging 2000-08-14
The Font Panel for Carbon API (HTML) (PDF) ()
TN2058: The API to display and interact with the Font Panel from Carbon applications on Mac OS X.
Graphics & Imaging 2002-09-05
Importing animated GIFs (HTML) (PDF) ()
TN2018: Describes how to tell if a GIF file or dataref contains more than one frame.
Graphics & Imaging 2001-04-17
Insights on OpenGL (HTML) (PDF) ()
TN2014: Frequently Asked Questions regarding OpenGL and graphics on the Macintosh.
Graphics & Imaging 2001-03-26
The Mac OS X Font Manager (HTML) (PDF) ()
TN2024: Information on installing and accessing fonts programatically.
Graphics & Imaging 2001-07-11
Mac OS X QuickDraw Performance (HTML) (PDF) ()
TN2051: Some of the trouble spots in the Mac OS X windowing system and how to avoid them.
Graphics & Imaging 2003-02-13
New ColorSync 3.0 APIs (HTML) (PDF) ()
TN1185: APIs application can use to take advantage of new features available in ColorSync 3.0.
Graphics & Imaging 2000-08-14
OpenGL Performance Optimization : The Basics (HTML)
TN2093: This document describes some of the concepts and techniques for optimizing performance in OpenGL applications;
Graphics & Imaging 2004-12-01
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
Graphics & Imaging 2003-12-29
What's New With ColorSync 2.6 (HTML) (PDF) ()
TN1160: Details the changes in ColorSync 2.6.
Graphics & Imaging 1999-04-01
ATA Device Software Guide Additions and Corrections (HTML) (PDF) ()
TN1098: Notes Errors and additions to ATA Device Software Guide and ATA Manager 4.0.
Hardware 1997-07-01
ATA Interface Modules (HTML) (PDF)
TN1192: Describes how to write device drivers for ATA host bus controllers, ie. ATA Interface Module.
Hardware 1999-12-01
Boot Blocks (HTML) (PDF)
Deprecated - DV03: Warns that Boot Block form and function will change and describes undocumented Boot Blocks features.
Hardware 1987-03-01
CD-ROM Driver Calls (HTML) (PDF)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Hardware 2000-08-14
Dealing with PCI Expansion Chassis Problems (HTML) (PDF) ()
TN1135: Discusses solutions for compatibility issues between PCI cards and attached expansion chassis.
Hardware 1998-08-01
Debugging Open Firmware Using Telnet (HTML) (PDF)
TN2004: Addresses debugging device's firmware using Ethernet and telnet protocol to a target machine running Open Firmware.
Hardware 2000-10-16
Driver Tuning on Panther or G5 (HTML) ()
TN2090: Describes potential issues when using drivers in Panther or later, or on a Power Macintosh G5.
Hardware 2003-06-24
FireWire: DCL Programs Under Mac OS X (HTML) ()
TN2072: Describes the structure and creation of DCL programs under Mac OS X.
Hardware 2003-06-21
Fundamentals of Open Firmware, Part I: The User Interface (HTML) (PDF)
TN1061: Describes the Open Firmware User Interface, Forth and the Open Firmware language used in Apple products.
Hardware 1996-07-01
Fundamentals of Open Firmware, Part II: The Device Tree (HTML) (PDF)
TN1062: Describes the Open Firmware device tree.
Hardware 1996-09-01
Fundamentals of Open Firmware, Part III: Understanding PCI Expansion ROM Choices for Mac OS (HTML) (PDF)
TN1044: Recommended contents for PCI expansion ROMs, including a table of standard devices, properties and methods.
Hardware 2001-06-26
High-Speed SDRAM Design Considerations (HTML) (PDF) ()
TN1138: Illustrates certain issues with the design of high-speed SDRAM DIMM modules.
Hardware 1998-08-01
I/O Kit Power Controller (HTML) ()
TN2076: Describes code to include in a KEXT in order to register for power management events.
Hardware 2003-06-20
Interrupt-Safe Routines (HTML) (PDF) ()
TN1104: Dicusses Mac OS, "safe " routines to call at interrupt time.
Hardware 2000-11-08
Kernel Core Dumps (HTML)
TN2118: Explains how to gather and use remote kernel core dumps.
Hardware 2004-11-12
The Mac ROM Enters a New World (HTML) (PDF) ()
TN1167: Describes changes made to the Macintosh ROM since the introduction of the iMac.
Hardware 2000-08-14
Open Firmware Ethernet Debugging II: Telnet downloading (HTML) (PDF) ()
TN2023: Describes a method of debugging a device's firmware using Ethernet to connect a host machine and target machine.
Hardware 2001-10-30
Optimization Strategies for Mac OS (HTML) (PDF)
TN1174: Achieving the best possible performance in your applications.
Hardware 1999-09-01
PCI Expansion ROMs and You (HTML) (PDF)
TN2000: Demonstrates how to read an expansion ROM on a PCI card in Open Firmware.
Hardware 2000-08-01
Power Management for Macintosh; getting started (HTML) ()
TN2075: Outlines available documentation and its location for power management on Mac OS X and OS 9.
Hardware 2003-05-30
Power Manager 2.0 (HTML) (PDF) ()
TN1190: Describes the Macintosh Power Manager 2.0.
Hardware 2000-08-14
PowerBook HD Upgrades and SCSI disk mode Compatibility (HTML) (PDF) ()
TN1116: Describes potential drive upgrades and SCSI disk mode issues in PowerBook pre-G3 and pre-3400 models.
Hardware 1998-02-01
PowerPC G5 Performance Primer (HTML) ()
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Hardware 2003-09-03
Running files from a hard drive in Open Firmware (HTML) (PDF)
TN2001: Demonstrates editing, saving, and retrieving Open Firmware commands to a file on a Macintosh hard drive.
Hardware 2000-09-22
Unknown Sound Features (HTML) (PDF) ()
TN1108: Documents some obscure, but useful, features of the Sound Manager.
Hardware 1997-10-01
USB Printer Sharing Compatibility (HTML) (PDF)
TN1199: Describes how to make drivers compatible with USB Printer Sharing.
Hardware 2000-06-01
The Euro Currency Symbol (HTML) (PDF) ()
TN1140: The available information about Mac OS and Mac Mac OS X Server support for the Euro currency symbol.
Internationalization 2000-01-01
Glyph Access Protocol (HTML) ()
TN2079: How to support unencoded glyphs using the TSM, ATSUI and Cocoa.
Internationalization 2003-05-06
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (PDF) ()
TN2033: Covers the ATSUI low-level APIs.
Internationalization 2001-11-26
Installable Keyboard Layouts (HTML) (PDF) ()
TN2056: Explains how to define a Unicode keyboard via an XML text file.
Internationalization 2002-09-27
Multilingual Text Engine Frequently Asked Questions (HTML) (PDF) ()
TN2026: A list of frequently asked questions for the Multilingual Text Engine (MLTE).
Internationalization 2001-07-11
Applet Signing with MRJ and Javakey (HTML) (PDF) ()
Deprecated - TN1175: Procedures needed to sign jar files, install certificates, and successfully utilize a signed applet.
Java 2000-10-16
The Care And Feeding Of Runtime.exec (HTML) (PDF) ()
Deprecated - TN1168: JDK-1.1.x on Mac OS Classic describes MRJ 2.x's implementation of Runtime.exec.
Java 2000-08-14
Compatibility between JDirect 2 and JDirect 3 (HTML) (PDF)
Deprecated - TN2002: Changes in JDirect between MRJ 2.2 on MacOS 8/9 and the Java runtime on Mac OS X.
Java 2001-08-03
Debugging Java Code With MacsBug (HTML) (PDF) ()
Deprecated - TN1154: Shows how to Debug Mac OS Classic Java with MacsBug.
Java 2000-08-14
Don't println to a Socket (HTML) (PDF) ()
Deprecated - TN1157: Describes improper use of the "println" method when writing to connected to a Socket and alternative methodolgies.
Java 2000-08-14
How to structure your handleCheckUpdate callback (HTML) (PDF)
Deprecated - TN1193: JMFrameUpdate from its window-drawing code, and why it should also implement a checkUpdate callback.
Java 2000-08-14
How to write a JDBC Plugin (With Example) (HTML) (PDF) ()
TN2027: Describes the process of writing JDBC Adaptor plugins for WebObjects.
Java 2001-07-11
Identifying Java on Mac OS X (HTML)
TN2110: Discovering installed versions of J2SE, Mac OS X from Java code.
Java 2004-10-05
Introduction to MRJ Scripting with AppleScript for Java (HTML) (PDF) ()
Deprecated - TN1162: Introduction to MRJ Scripting with ApplesScript for Java
Java 2000-08-14
Java Runtime Properties for Mac OS X (HTML) (PDF) ()
Deprecated - TN2031: Runtime properties for use with Java 1.3.1 applications.
Java 2002-06-12
JNI Tips: Building Your Native-Method Libraries For MacOS (HTML) (PDF) ()
Deprecated - TN1155: Provides Native Method Library tips for Java Native Interface (JNI) on Mac OS
Java 2000-08-14
Scribbling Into AWT Components (HTML) (PDF) ()
Deprecated - TN1156: Describes how to draw into an AWT Component by means other than the Java AWT Graphics API.
Java 2000-08-14
Tailoring Java Applications for Mac OS X (HTML) (PDF) ()
Deprecated - TN2042: Tips and tricks for an optimal Macintosh experience in a Java application.
Java 2002-05-23
Thread-Safe Toolbox Access From MRJ (HTML) (PDF) ()
Deprecated - TN1153: Thread-Safe Toolbox access from MRJ on Mac OS Classic.
Java 2000-08-14
Background-Only Applications (HTML) (PDF) ()
TN1070: Describes issues and implementation strategies for creating Background-Only Applications.
Mac OS 9 & Earlier 2000-08-14
Boot Blocks (HTML) (PDF)
Deprecated - DV03: Warns that Boot Block form and function will change and describes undocumented Boot Blocks features.
Mac OS 9 & Earlier 1987-03-01
CD-ROM Driver Calls (HTML) (PDF)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Mac OS 9 & Earlier 2000-08-14
Disabling Interrupts on the Traditional Mac OS (HTML) (PDF) ()
TN1137: Describes how to (and why you should not) disable interrupts on the traditional Mac OS.
Mac OS 9 & Earlier 1998-08-01
FireWire for Mac OS 9: An Overview (HTML)
TN2126: Overview of FireWire on Mac OS 9.
Mac OS 9 & Earlier 2004-09-17
JIS Keyboard Support in Mac OS 8 (HTML) (PDF) ()
TN1152: Describes the mechanism introduced in Mac OS 8 to support JIS (Japanese Industrial Standards) keyboards.
Mac OS 9 & Earlier 1999-02-01
Mac OS 8.1 (HTML) (PDF) ()
TN1121: Documents changes in Mac OS 8.1 that will, most likely, affect developers.
Mac OS 9 & Earlier 1998-01-01
Mac OS 9.0.4 (HTML) (PDF) ()
TN1194: An overview of new features and bug fixes presented in Mac OS 9.0.4.
Mac OS 9 & Earlier 2000-04-01
Unknown Sound Features (HTML) (PDF) ()
TN1108: Documents some obscure, but useful, features of the Sound Manager.
Mac OS 9 & Earlier 1997-10-01
Creating NetBoot Server-Friendly Applications (HTML) (PDF) ()
TN1151: Guidelines to ensure applications are able to work correctly in a NetBoot environment.
Mac OS X Server 2000-08-01
Device input using the HAL Output Audio Unit (HTML)
TN2091: How to get input from an audio device by using the HAL's Output Audio Unit.
Music & Audio 2004-08-23
Handling Audio Unit Events (HTML)
TN2104: This technote explains how to handle AudioUnit Events
Music & Audio 2004-02-16
SndPlayDoubleBuffer and Carbon (HTML) (PDF) ()
TN1198: Removal of the SndPlayDoubleBuffer and other APIs from the Carbon API set and Carbon solutions.
Music & Audio 2002-06-12
The System Sound APIs for Mac OS X 10.2, 10.3 and later (HTML)
TN2102: Discusses the System Sound APIs for correctly playing Alerts and User Interface Sound Effects
Music & Audio 2004-07-13
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Music & Audio 2004-06-14
AppleTalk Overview Q&As (HTML) (PDF)
Deprecated - NW520: AppleTalk overview Q&As (retired) covering nodes, versions, interrupt-safe routines, broadcasting, self-send packets, user/computer names
Networking 1990-10-01
Kernel Core Dumps (HTML)
TN2118: Explains how to gather and use remote kernel core dumps.
Networking 2004-11-12
Living in a Dynamic TCP/IP Environment (HTML) (PDF) ()
TN1145: Describes some of the intricacies of dealing with TCP/IP in a dynamic environment, such as Open Transport.
Networking 2002-08-27
Open Transport STREAMS FAQ (HTML) (PDF)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Networking 1997-12-01
Understanding Open Transport Asset Tracking (HTML) (PDF)
TN1173: Open Transport tracks assets, like memory and providers, which it allocates on your behalf.
Networking 2000-11-03
Uniquely Identifying a Mac OS Computer (HTML) (PDF) ()
TN1103: Describes techniques to distinguish between models of Mac OS computers.
Networking 1997-12-01